package com.bbzn.device.client.service;

import com.bbzn.device.client.dataobject.GroupDevice;
import com.bbzn.device.client.dto.ct.data.ProductUnionDTO;
import com.bbzn.device.client.dto.group.GroupDeviceDTO;
import com.bbzn.device.client.dto.group.InGroupDTO;
import com.bbzn.device.client.dto.group.OutGroupDTO;

import java.util.List;

public interface GroupDeviceService {


    int deleteByPrimaryKey(Long id);

    int insert(GroupDevice record);

    int insertOrUpdate(GroupDevice record);

    int insertOrUpdateSelective(GroupDevice record);

    int insertSelective(GroupDevice record);

    GroupDevice selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(GroupDevice record);

    int updateByPrimaryKey(GroupDevice record);

    List<GroupDevice> findByAll(GroupDevice groupDevice);

    int updateBatch(List<GroupDevice> list);

    int updateBatchSelective(List<GroupDevice> list);

    int batchInsert(List<GroupDevice> list);

    List<GroupDevice> queryByAll(GroupDeviceDTO group);

    int batchDel(List<Long> list);

    List<InGroupDTO> getInGroupDevice(List<Long> ids, Long groupId);

    List<String> getInGroupDeviceByImeis(List<String> imeis,Long groupId);

    String getTopic(Long groupId);

    List<OutGroupDTO> getOutGroupDevice(List<Long> ids);

    ProductUnionDTO getDeviceDetailByImei(String imei);

    List<ProductUnionDTO> getInGroupDeviceExceptSelf(String imei, Long groupId);

    List<String> getGroupDeviceList(List<String> parameter);

    List<String> getNbDeviceList(List<String> parameter);

    List<ProductUnionDTO> getProductUnionDTOList(List<String> list);

    int deleteByImei(String imei);

    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    int batchDelete(List<Long> ids);

}



